// 本文件用于展示属性设置器，数组里每个元素必须与现已有的setter名称一一对应！
// 例如，'name'对应name-setter.vue
// 每个设置器都被分在不同的组，除了optionsOutside、FalseNotFormItem与Fixed之外，其余组名都与组件名称对应
// 如果以后有新类型加入，必须新建一个组，格式为 组件名:['a属性名','b属性名']，不然页面将无法展示新组件的属性设置器
export default {
  commonConfig: {
    optionsOutside: [
      'name',
      'events',
      'tabs',
      'collapse',
      'notFormItem'
    ],
    Fixed: [
      'placeholder',
      'isVariableDefaultValue',
      'useDynamicValue',
      'defaultValue',
      'customClass',
      'displayMode',
      'paging',
      'pageSize'
    ], // Fixed
    FalseNotFormItem: [
      'hideLabel',
      'labelWidth',
      'width',
      'height'
    ], // FalseNotFormItem
    other: [
      'height',
      'text',
      'contentPosition',
      'fontFamily',
      'fontSize',
      'fontColor',
      'fontWeight',
      'fontStyle',
      'marginTop',
      'marginBottom',
      'align',
      'step',
      'precision',
      'controls',
      'controlsPosition',
      'showSuffix',
      'min',
      'max',
      'suffix',
      'showInput',
      'isInitNode',
      'initNode',
      'multiple',
      'paddingTop',
      'paddingBottom',
      'inline',
      'optionStyle',
      'remote',
      'filterable',
      'checkStrictly',
      'buttonName',
      'customWidth',
      'buttonSize',
      'buttonType',
      'buttonPlain',
      'buttonRound',
      'buttonCircle',
      'linkType',
      'href',
      'underline',
      'hideLabel',
      'maxLimit',
      'maxRows',
      'type',
      'format',
      'customFormat',
      'allowHalf',
      'showScore',
      'inactiveText',
      'activeText',
      'tabPosition',
      'rows',
      'autosize',
      'limit',
      'size',
      'tip',
      'isAddressDetail',
      'mode',
      'qrCodeValueMode'
    ],
    // td: [
    //   'height' //
    // ], // Td
    // text: [
    //   'text',
    //   'contentPosition',
    //   'fontFamily',
    //   'fontSize',
    //   'fontColor',
    //   'fontWeight',
    //   'fontStyle',
    //   'marginTop',
    //   'marginBottom'
    // ], // text
    // grid: [
    //   'align'
    // ], // grid
    // number: [
    //   'min',
    //   'max',
    //   'step',
    //   'precision',
    //   'controls',
    //   'controlsPosition',
    //   'showSuffix',
    //   'suffix'
    // ], // number
    // slider: [
    //   'min',
    //   'max',
    //   'step',
    //   'suffix',
    //   'showInput'
    // ], // slider
    // selectOrcascader: [
    //   'multiple',
    //   'filterable',
    //   'checkStrictly'
    // ], // selectOrcascader
    // organization: [
    //   'multiple',
    //   'isInitNode',
    //   'initNode'
    // ],
    // member: [
    //   'multiple',
    //   'isInitNode',
    //   'initNode'
    // ], // 'organization', 'member'
    // divider: [
    //   'text',
    //   'contentPosition',
    //   'paddingTop',
    //   'paddingBottom'
    // ], // divider
    // radio: [
    //   'inline',
    //   'optionStyle',
    //   'remote'
    // ],
    // checkbox: [
    //   'inline',
    //   'optionStyle',
    //   'remote'
    // ],
    // select: [
    //   'inline',
    //   'optionStyle',
    //   'remote',
    //   'multiple',
    //   'filterable',
    //   'checkStrictly'
    // ],
    // cascader: [
    //   'inline',
    //   'optionStyle',
    //   'remote',
    //   'multiple',
    //   'filterable',
    //   'checkStrictly'
    // ],
    // button: [
    //   'buttonName',
    //   'contentPosition',
    //   'customWidth',
    //   'buttonSize',
    //   'buttonType',
    //   'buttonPlain',
    //   'buttonRound',
    //   'buttonCircle'
    // ], // button
    // link: [
    //   'text',
    //   'contentPosition',
    //   'linkType',
    //   'href',
    //   'underline'
    // ], // link
    // table: [
    //   'hideLabel',
    //   'maxLimit',
    //   'maxRows'
    // ], // table
    // // time: [], // time
    // date: [
    //   'type',
    //   'format',
    //   'customFormat'
    // ],
    // rate: [
    //   'allowHalf',
    //   'showScore',
    //   'suffix'
    // ], // rate
    // switches: [
    //   'inactiveText',
    //   'activeText'
    // ], // switches
    // tabs: [
    //   'type',
    //   'tabPosition'
    // ], // tabs
    // textarea: [
    //   'rows',
    //   'autosize'
    // ], // textarea
    // upload: [
    //   'multiple',
    //   'limit',
    //   'size',
    //   'tip'
    // ], // upload
    // imageUpload: [
    //   'multiple',
    //   'limit',
    //   'size',
    //   'tip'
    // ], // upload
    // address: [
    //   'isAddressDetail'
    // ], // address
    // qrCode: [
    //   'mode',
    //   'qrCodeValueMode'
    // ], // qrCode
    card: [
      'showHeader',
      'shadow'
    ], // card
    collapse: [
      'accordion'
    ], // collapse
    report: [
      'borderWidth',
      'borderColor'
    ], // report
    componentProp: [
      'hidden',
      'readonly',
      'disabled',
      'editable',
      'clearable',
      'arrowControl',
      'isDelete',
      'isEdit',
      'showPassword'
    ], // componentProp
    customSetter: []
  },
  validateConfig: [
    'required',
    'dataType',
    'pattern',
    'validator',
    'validatorCheck'
  ]
};
